< previous page page_161 next page >

Page 161
Figure 7.3 shows a proper way to encapsulate your application from potential changes or failures in a particular third-party control. In the figure, all application requests for reporting services are routed through the instance of the IReporting interface class. The encapsulation doesn't stop there. The IReporting instance then calls the facade class for the third-party control Crystal Reports, named CrystalReporting. This same design pattern can also be applied to your use of the MS Comm control (IComm could be an interface class), the various grid controls (IGrid), and so on.
The Industry Relies on the Use of Third-Party Controls
For computer software companies in the computer industry, a popular product or group of products results in not only dramatically increased revenues but also in telephone calls and emails for technical support. Some of these customer contacts are requests for enhancements to the product or full extensions. Microsoft and many other companies have come to appreciate the value added to their products by third-party vendors.
In the early 1980s, Hewlett Packard market share in the industry was enhanced by the third-party vendors (software and hardware) whose products supplemented its HP3000 product. In 1984, Eugene Volokh of VESOFT Company listed some factors that make third-party vendors able to grow with original equipment manufacturers (OEMs, such as Microsoft, Hewlett Packard, IBM, and so on). In paraphrasing, the list includes
Reverse economy of scale. Third-party vendors are able to respond more quickly to market forces (such as customer demand for changes) than the original equipment manufacturer. For instance, because there was a need for a grid control more powerful than Microsoft Grid, third-party vendors responded with True Grid and Spread VBX. When True Grid became the favorite of Visual Basic developers, Microsoft licensed it to be shipped with the language product.
You can't please everybody. Third-party vendors are able to meet niche market demands to which OEMs can't afford to respond. This might have been the reason that Crystal Reports took off early in the history of Visual Basic VBX controls.
OEM quality versus third-party vendor low price. OEMs seek to compete with third-party vendors on the basis of reliability and quality, not price. Of course, this strategy can backfire, as was the case with Apple Computer in the 1980s. At the same time, a customer is willing to pay a premium if the company, OEM, or third-party vendor, is available for technical support.

 
< previous page page_161 next page >

If you like this book, buy it!